/*
 * 属性初始化在构造器里，且在super()之后
 * 对象的属性如果有=号赋值，java编译器会将其拆成两行代码，分别放在不同的位置执行
 */
public class Property {
    public static void main(String[] args) {
        new B();
    }
}

class A {
    int x = 10;

    public A() {
        // System.out.println(x);
        run();
    }

    public void run() {
        System.out.println(x);
    }
}

class B extends A {
    int x = 20;

    public B() {
        // System.out.println(x);
        run();
    }

    public void run() {
        System.out.println(x);
    }
}
